The present invention relates to an interactive learning system for use in learning syntax-intensive subject matter, such as a computer programming language, which analyzes user entries for syntactical correctness and generates user feedback information relating to errors that were made in the user entries.
Conventional interactive learning systems are in relatively widespread use for learning computer programs of all types. Those interactive learning systems are used either as the primary mode of education or as supplementary education for reinforcing previously received instruction, such as classroom instruction.
A conventional learning system may present instruction to the user, or student, relating to the application program being learned, and the system may also quiz the student by requesting that he or she make program entries in response to questions generated by the system. In response to a student's entry, the system typically responds by generating only an indication to the student whether the student's entry was correct or incorrect. Because the system provides only that minimal feedback information, the use of such conventional interactive learning systems may be a frustrating experience, particularly when the computer program being learned incorporates arcane syntactical rules of construction.
Conventional interactive learning systems are also relatively limited in the type of instruction that they provide. Some systems may provide lessons relating to the computer program being learned without reinforcing those lessons with other modes of instruction. Other systems may provide other modes of instruction, but typically they fail to provide a number of different modes of instruction, and thus are unduly limited in the effectiveness of the training provided.